Skip to content

feat: fund mcms pdas [CLD-2765]#101

Merged
ecPablo merged 67 commits into
mainfrom
ecpablo/fund-mcms-pdas
Jun 26, 2026
Merged

feat: fund mcms pdas [CLD-2765]#101
ecPablo merged 67 commits into
mainfrom
ecpablo/fund-mcms-pdas

Conversation

@ecPablo

@ecPablo ecPablo commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Refactors fund mcms pdas for solana to use new conventions and helpers

AI Summary

This pull request refactors the EVM operations utility usage throughout the MCMS legacy codebase. The main change is replacing references to the old oputil package with the new mcms/evm/operations package, updating both import paths and type usages. This streamlines code maintenance and ensures all EVM-related operations use the centralized, updated implementation.

Migration to new EVM operations utility:

  • All imports and usages of legacy/mcms/internal/family/evm/oputil have been replaced with mcms/evm/operations across multiple files, including changes to type names and function calls. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

  • All usages of EVM operation types and functions (e.g., EVMDeployInput, RetryDeploymentWithGasBoost, EVMCallOutput, NewEVMDeployOperation, NewEVMCallOperation) have been updated to reference the new package, ensuring consistency and removing legacy dependencies. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

Type and identifier updates:

  • All relevant type references (e.g., EVMCallOutput, EVMDeployInput, operation variables) have been updated to use the new package, ensuring type compatibility and clarity. [1] [2] [3] [4] [5] [6]

Operation registration and execution:

  • All operation variable assignments (e.g., OpDeployCallProxy, OpDeployTimelock, OpGrantRole, OpEVMSetConfigMCM, OpDeployProposerMCM, OpDeployBypasserMCM, OpDeployCancellerMCM) now use the new operations package for construction and configuration. [1] [2] [3] [4] [5] [6]

This refactor ensures all EVM-related operations are routed through the updated, centralized utility, reducing technical debt and simplifying future maintenance.

ecPablo and others added 21 commits June 19, 2026 22:04
Introduce a ChangeSetV2 flow to transfer ownable contracts to the MCMS
timelock, with per-family registry, EVM sequence, datastore validation,
and an end-to-end test.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown

Release impact (release-please)

Current version 0.7.1 (on main)
After merge 0.8.0 (minor bump)

PR title: feat: fund mcms pdas [CLD-2765]

Merging this PR as-is will contribute a minor bump to the next release-please release PR.

Conventional commit → bump

Intent PR title prefix Bump
Bug fix fix: patch
New feature feat: minor
Breaking change feat!: / fix!: or BREAKING CHANGE: / BREAKING-CHANGE: in description major
No release chore:, docs:, ci:, refactor:, etc. none

Update the PR title before merge if you need a different bump (squash commit message = PR title).

Preview is based on this PR title only. The release-please release PR may include other unreleased commits already on main.

@ecPablo ecPablo changed the base branch from main to ecpablo/deploy-topology-mcms June 23, 2026 23:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces a new Solana-focused “fund MCMS PDAs” changeset implementation that resolves MCMS/timelock refs from the datastore via the Solana MCMS reader, validates prerequisites (refs + deployer balance), and executes funding transfers via an operations sequence/operation.

Changes:

  • Adds a Solana changeset (Changeset) that validates MCMS refs and deployer SOL balance, then funds the resolved signer PDAs per-chain.
  • Adds new operations building blocks (OpFundKey, SeqFundSolanaMCMPDAs, SeqFundMCMPDAs) plus helpers for resolving PDAs from datastore refs.
  • Adds comprehensive unit/integration tests for helpers, validation, operation, sequences, and the changeset end-to-end behavior.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
mcms/solana/fund-mcm-pdas/validate.go Preconditions validation for datastore refs and deployer SOL balance.
mcms/solana/fund-mcm-pdas/validate_test.go Tests for ref validation and balance validation behavior.
mcms/solana/fund-mcm-pdas/types.go Changeset config types and required funding calculation.
mcms/solana/fund-mcm-pdas/types_test.go Tests for RequiredFunding and envFromSeqDeps.
mcms/solana/fund-mcm-pdas/sequence.go Sequences to fund explicit targets and datastore-resolved PDAs.
mcms/solana/fund-mcm-pdas/sequence_test.go Tests for sequence execution, chain mismatch, and error/success paths.
mcms/solana/fund-mcm-pdas/operation.go Operation that transfers lamports from deployer to a target account.
mcms/solana/fund-mcm-pdas/operation_test.go Tests covering successful funding and failure scenarios.
mcms/solana/fund-mcm-pdas/helpers.go Datastore ref resolution into signer PDAs and funding targets.
mcms/solana/fund-mcm-pdas/helpers_test.go Tests for target resolution and PDA parsing error cases.
mcms/solana/fund-mcm-pdas/doc.go Package documentation and required reader import note.
mcms/solana/fund-mcm-pdas/changeset.go Top-level changeset wiring: verify + apply with sequence aggregation and output building.
mcms/solana/fund-mcm-pdas/changeset_test.go End-to-end tests for preconditions and apply (including real instruction inspection).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread mcms/solana/changesets/fund-mcm-pdas/helpers.go
Comment thread mcms/solana/fund-mcm-pdas/validate.go
@ecPablo ecPablo changed the title Ecpablo/fund mcms pdas feat: fund mcms pdas [CLD-2765] Jun 24, 2026
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Pablo Estrada <139084212+ecPablo@users.noreply.github.com>
@ecPablo ecPablo marked this pull request as ready for review June 24, 2026 15:14
@ecPablo ecPablo requested a review from a team as a code owner June 24, 2026 15:14
Comment thread mcms/changesets/fund-mcm-pdas/types.go Outdated
Comment thread mcms/solana/changesets/fund-mcm-pdas/changeset.go
Comment thread mcms/solana/changesets/fund-mcm-pdas/changeset_test.go
Comment thread mcms/solana/changesets/fund-mcm-pdas/changeset.go
@ecPablo ecPablo requested a review from graham-chainlink June 25, 2026 23:13
Base automatically changed from ecpablo/deploy-topology-mcms to main June 26, 2026 03:34

@graham-chainlink graham-chainlink left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have to rebase main again.

Comment thread legacy/mcms/internal/family/evm/operations/op_grant_role.go
Comment thread mcms/solana/changesets/fund-mcm-pdas/changeset.go
ecPablo and others added 3 commits June 25, 2026 22:09
@ecPablo ecPablo requested a review from graham-chainlink June 26, 2026 05:14
@ecPablo ecPablo enabled auto-merge (squash) June 26, 2026 06:05
@ecPablo ecPablo merged commit c71b37c into main Jun 26, 2026
16 checks passed
@ecPablo ecPablo deleted the ecpablo/fund-mcms-pdas branch June 26, 2026 06:17
@cl-sonarqube-production

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants